package com.t.bricks.bussiness.db.mapper.voterecord;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.t.bricks.bussiness.db.entity.voterecord.VoteRecord;

@Mapper
public interface VoteRecordMapper {
	
	/**
	 * 添加
	 * @Param voteRecord
	 * @return int
	 */
	int add(VoteRecord voteRecord);

	/**
	 * 检查待新增内容是否存在重复数据
	 * @Param voteRecordData
	 * @return int 重复返回true
	 */
	int checkRepeatByAdd(VoteRecord voteRecordBase);

	/**
	 * 修改状态
	 * @param sId 记录编号
	 * @param iState 新的状态
	 * @param iVersion 当前版本号
	 * @param sMemo 备注信息(null则不更新)
	 * @return
	 */
	int changeState(
		@Param("sId") String sId,
		@Param("iState") Integer iState,
		@Param("iVersion") Integer iVersion,
		@Param("sMemo") String sMemo
	);
	
	/**
	 * 按投票记录新增'投票统计'记录
	 * @param sId
	 * @return
	 */
	int addVoteStatistics(@Param("sId") String sId);

	/**
	 * 按投票记录删除'投票统计'记录
	 * @param sVoteRecordId
	 * @return
	 */
	int delVoteStatistics(@Param("sVoteRecordId") String sVoteRecordId);

	/**
	 * 按投票记录修改'投票统计'记录状态
	 * @param sVoteRecordId
	 * @param iState
	 * @return
	 */
	int changeStateStatistics(
		@Param("sVoteRecordId") String sVoteRecordId,
		@Param("iState") Integer iState
	);
	
}
